Creative Selection
Authors: Ken Kocienda, Ken Kocienda
Overview
In Creative Selection, I share my fifteen-year journey as a software engineer at Apple, offering a behind-the-scenes look at how we created some of the most impactful software in the company’s history, including the Safari web browser and the iPhone keyboard. This book is aimed at anyone interested in understanding what makes Apple unique, how software gets made, and the principles that contribute to successful product development.
This book isn’t just about the technical aspects of software development. It explores the human element, the collaboration, debates, and decision-making that drive innovation. I introduce the concept of creative selection, Apple’s iterative process of developing software through constant prototyping, demos, and feedback, emphasizing how this process, when combined with seven essential elements of product design and execution, allowed a small group of engineers and designers to create world-changing products. These elements, which I describe through real-world anecdotes and experiences, include inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy. I illustrate these concepts through specific anecdotes from my career, including demoing the iPad keyboard prototype to Steve Jobs, developing the autocorrection feature for the iPhone keyboard, participating in the “keyboard derby” during early iPhone development, building the first version of Safari on Mac OS X starting with the open source browser Konqueror, and attending the final rehearsals and public launch of the original iPhone.
The book’s relevance to current debates on product management, effective meetings, software engineering practices comes from demonstrating how Apple’s approach wasn’t about following a rigid process but about creating a culture that fostered innovation. The book is not a handbook or checklist but rather offers insights into a product culture that was unique to Apple and central to its success. I share our methods, our struggles, and our triumphs, giving readers a glimpse into the Apple programmer’s world. More than that, I provide a model for creating great products by combining technology with the liberal arts, emphasizing that product design is how it works, and how it works for people. The principles I discuss are applicable beyond software development, offering valuable lessons for anyone involved in creating and building innovative products.
Book Outline
1. The Demo
This chapter tells the story of a demo I gave to Steve Jobs about two different keyboard options for the iPad, one with bigger keys and one with more keys. Steve’s feedback on the demo, through his questions and decisions, became part of the foundation of Apple’s software development process, shaping how we made products. This chapter serves as an introduction to the “creative selection” product development process described throughout the rest of the book.
Key concept: “Inspiration is the thinking big ideas and imagining what might be possible; collaboration is working together well and seeking to combine complementary strengths; craft is applying skill to achieve high-quality results and always striving to improve; diligence is doing the necessary grunt work without resorting to shortcuts; decisiveness is making tough choices without delay; taste is developing judgment and finding the balance that produces a pleasing whole; and empathy is trying to see the world from other people’s perspective.” These seven essential elements of Apple’s software success are not a checklist but a distillation of what effective product teams do daily. Working in the Apple style is not about following a fixed methodology but about letting these elements flow from the work itself.
2. The Crystal Ball
This chapter tells the story of an early experience of mine at Apple developing the Safari web browser, focusing on a “crystal ball” demo created by my colleague Richard. His demo provided a vision for the future of our project and changed how we approached software development at Apple.
Key concept: Richard, a newly-hired teammate, created a fully functional demo of the open source web browser Konqueror running on a Mac in just two days, a remarkable achievement given the challenges of adapting it from Linux. This demo was a turning point in our browser project, as it gave us a concrete path forward. This illustrates how demos function as “crystal balls”, offering visions of the future and guiding product development.
3. The Black Slab
This chapter details the technical work involved in porting Konqueror’s source code to Mac OS X, which required fixing numerous cross-references and overcoming many build errors. It culminated in a major milestone: displaying the first rudimentary “web page” on our new Apple browser, a black rectangle.
Key concept: After deciding to use the open-source Konqueror browser, we embarked on a challenging task: porting its code to Mac OS X. The process involved meticulously resolving hundreds of compiler errors caused by broken cross-references. This “Black Slab” was a milestone: a working, if rudimentary, browser that finally displayed a web page.
4. One Simple Rule
This chapter describes how the Safari team adopted a ‘one simple rule’ for development: no code changes without passing the page load test (PLT). This relentless focus on speed, driven by Steve Jobs, shaped our team’s culture and working methods.
Key concept: “No more code changes without running the PLT.” This simple rule enforced by my manager Don Melton on the Safari project became a powerful driver of speed and quality in our browser development, transforming our process.
5. The Hardest Problem
This chapter recounts a particularly difficult technical challenge: fixing the placement and behavior of the blinking insertion point in WebKit for email editing. The solution came through collaboration with colleagues, highlighting the importance of teamwork.
Key concept: I struggled with a persistent insertion point bug in WebKit. By collaborating with colleagues Darin Adler and Trey Matteson, I learned that organizing code by focusing on visual outcomes can help solve mysterious software behavior. This collaboration exemplified how people matter more than programming.
6. The Keyboard Derby
This chapter recounts the intense, company-wide effort at Apple to develop a software keyboard for the iPhone, which involved a period when all software engineers were tasked with creating keyboard prototypes, culminating in a “demo derby” to showcase the results to management.
Key concept: Early iPhone development involved a period when the entire software team focused solely on creating a touchscreen keyboard, leading to the “demo derby”, where everyone presented their prototypes. This intensive effort highlighted how seriously Apple took the challenge of software input.
7. QWERTY
This chapter details the subsequent development and refinement of the iPhone keyboard after my demo derby prototype was selected, focusing on the challenges of balancing speed, accuracy, and user experience, and how autocorrection was improved.
Key concept: The iPhone keyboard development required balancing user experience with technical feasibility. Key challenges included typing uncommon words and names, getting “lost” mid-word, and the role of auto-suggestions. The solution involved single-letter keys, a QWERTY layout, autocorrection, and removing the suggestion bar.
8. Convergence
This chapter discusses the concept of “convergence” in Apple’s product development process, the period leading up to product release where the focus shifts from feature development to bug fixing and polishing, and how we managed this.
Key concept: Convergence is the final phase of software development at Apple, characterized by bug fixing and polish. It also involves navigating between sticking to ship dates and managing a fluctuating number of bug reports, often tracked using the ‘Radar’ program.
9. The Intersection
This chapter explores the concept of working “at the intersection” of technology and liberal arts, a core principle at Apple that emphasizes that the beauty of a product should stem from its function and how it seamlessly integrates into people’s lives. Several examples from the development of the iPhone illustrate how this principle shaped the product.
Key concept: “Design is how it works.” This famous quote from Steve Jobs, and Richard Feynman’s analogous statement about atoms, encapsulate the idea of working “at the intersection” of technology and liberal arts. This principle underlies the design and feel of iPhone experiences, and was an important part of Apple’s success.
10. At This Point
This chapter reflects on the public release of the iPhone, its impact, and the mixed feelings it evoked. Observing people waiting in lines to buy the first iPhones brought home the scale of the product and the user experiences it would facilitate. It was a moment to look toward future innovations.
Key concept: June 29, 2007, was the iPhone release date. Observing the crowds of people lined up at Apple Stores, including Apple Fellow Bill Atkinson who crafted a wooden model iPhone, was when it sunk in: The product we’d been developing in secret would soon be in the hands of millions.
11. Epilogue
The most valuable lesson from my time at Apple is how a group of people and the culture they create are intertwined. Small teams, a shared vision, and a commitment to excellence are key ingredients for making great products. At Apple, our focus on making high-quality products wasn’t just a stated goal, it was reflected in our actions and the culture we fostered.
Key concept: The Apple software development culture, more than the processes themselves, was the secret to our success. This culture, centered on teamwork, dedication, rapid prototyping (demos), and a relentless focus on creating the best products, was fostered by small, dedicated teams and strong leadership.
Essential Questions
1. What role did demos play in Apple’s software development process?
My experience at Apple showed me how important demos were in turning ideas into actual products. We used demos at every stage of development, not as finished products, but as tools to facilitate discussion and drive decisions. This constant iteration allowed us to quickly identify problems, explore solutions, and refine our vision. Demos served as a “crystal ball,” helping us to glimpse the potential of a product and communicate that potential effectively to others, from fellow engineers and designers all the way up to Steve Jobs.
2. How did Steve Jobs’s leadership style influence the software development process at Apple?
Apple’s software development process was deeply influenced by Steve Jobs’s direct involvement and his relentless pursuit of high-quality products. His insistence on regular demos and his detailed feedback shaped the work of the software teams. This approach created a culture of high expectations and accountability, driving engineers and designers to constantly strive for better results. While demanding, this process also fostered a sense of purpose and excitement, motivating us to produce exceptional work.
3. What does it mean to work at the intersection of technology and the liberal arts?
At Apple, we strove to work at “the intersection” of technology and liberal arts. This meant combining technical expertise with an understanding of human needs and desires to create products that were both powerful and intuitive to use. This involved careful consideration of user experience, including factors like ease of use, aesthetics, and emotional connection. This approach was reflected in the simple elegance of Apple’s software and hardware, its ability to “just work” the way people expected.
4. How did the “seven essential elements” shape the work of Apple’s software teams?
The “seven essential elements” – inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy – aren’t just theoretical concepts. They are practical tools that guided our daily work. We mixed them in different ways to form approaches to design, engineering, and decision-making. They are essential in the product development process. By focusing on these elements, we created a culture that fostered creativity and excellence. Most importantly, we combined all of these essential elements through creative selection.
1. What role did demos play in Apple’s software development process?
My experience at Apple showed me how important demos were in turning ideas into actual products. We used demos at every stage of development, not as finished products, but as tools to facilitate discussion and drive decisions. This constant iteration allowed us to quickly identify problems, explore solutions, and refine our vision. Demos served as a “crystal ball,” helping us to glimpse the potential of a product and communicate that potential effectively to others, from fellow engineers and designers all the way up to Steve Jobs.
2. How did Steve Jobs’s leadership style influence the software development process at Apple?
Apple’s software development process was deeply influenced by Steve Jobs’s direct involvement and his relentless pursuit of high-quality products. His insistence on regular demos and his detailed feedback shaped the work of the software teams. This approach created a culture of high expectations and accountability, driving engineers and designers to constantly strive for better results. While demanding, this process also fostered a sense of purpose and excitement, motivating us to produce exceptional work.
3. What does it mean to work at the intersection of technology and the liberal arts?
At Apple, we strove to work at “the intersection” of technology and liberal arts. This meant combining technical expertise with an understanding of human needs and desires to create products that were both powerful and intuitive to use. This involved careful consideration of user experience, including factors like ease of use, aesthetics, and emotional connection. This approach was reflected in the simple elegance of Apple’s software and hardware, its ability to “just work” the way people expected.
4. How did the “seven essential elements” shape the work of Apple’s software teams?
The “seven essential elements” – inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy – aren’t just theoretical concepts. They are practical tools that guided our daily work. We mixed them in different ways to form approaches to design, engineering, and decision-making. They are essential in the product development process. By focusing on these elements, we created a culture that fostered creativity and excellence. Most importantly, we combined all of these essential elements through creative selection.
Key Takeaways
1. Embrace Creative Selection
Creative selection is not about waiting for a single brilliant idea, but about continuous refinement through iteration. By building prototypes, demoing them, and incorporating feedback, we can move quickly from initial concept to a high-quality product. This approach allows for flexibility and adaptation, making it especially valuable in dynamic fields like AI.
Practical Application:
In AI product development, prioritize iterative prototyping and testing with target users. Gather feedback early and often, adapting the product based on user needs and preferences. Don’t wait until the product is ‘finished’ to start gathering feedback.
2. Establish a Simple Rule
Having a singular, clear focus on speed transformed the Safari team’s development process. By establishing a simple, measurable rule – no code changes without running the PLT – we ensured that every decision contributed to a faster browser. This kind of focus can be applied in other contexts to drive significant improvement through small, incremental steps.
Practical Application:
When developing AI models, apply the ‘one simple rule’ by focusing on a key metric, like accuracy or speed. Use this metric to guide every decision and refuse to accept changes that negatively impact it. This will ensure that the model improves iteratively, even if in small increments.
3. Work at the Intersection
Apple’s success is rooted in its ability to create products that are both technically advanced and user-friendly. By combining technological expertise with an understanding of human psychology and design principles, we can create AI products that meet real needs and enhance people’s lives.
Practical Application:
Design AI systems that are both powerful and easy to use, by prioritizing user experience. This could involve making interfaces more intuitive or simplifying processes to reduce cognitive load. Consider how the design of an AI product impacts how people interact with it.
4. Build Small, Dedicated Teams
Small, dedicated teams were essential to Apple’s success. These teams fostered strong interpersonal relationships, quick communication, and a sense of shared purpose, enabling us to move faster and adapt to changes more efficiently. The close proximity to senior leadership like Steve Jobs and Scott Forstall further intensified our focus and drove us to make great products.
Practical Application:
When building AI teams, keep them small and focused to foster open communication and efficient collaboration. This allows for more direct involvement from senior leaders and promotes a sense of shared ownership and accountability for the product’s success.
1. Embrace Creative Selection
Creative selection is not about waiting for a single brilliant idea, but about continuous refinement through iteration. By building prototypes, demoing them, and incorporating feedback, we can move quickly from initial concept to a high-quality product. This approach allows for flexibility and adaptation, making it especially valuable in dynamic fields like AI.
Practical Application:
In AI product development, prioritize iterative prototyping and testing with target users. Gather feedback early and often, adapting the product based on user needs and preferences. Don’t wait until the product is ‘finished’ to start gathering feedback.
2. Establish a Simple Rule
Having a singular, clear focus on speed transformed the Safari team’s development process. By establishing a simple, measurable rule – no code changes without running the PLT – we ensured that every decision contributed to a faster browser. This kind of focus can be applied in other contexts to drive significant improvement through small, incremental steps.
Practical Application:
When developing AI models, apply the ‘one simple rule’ by focusing on a key metric, like accuracy or speed. Use this metric to guide every decision and refuse to accept changes that negatively impact it. This will ensure that the model improves iteratively, even if in small increments.
3. Work at the Intersection
Apple’s success is rooted in its ability to create products that are both technically advanced and user-friendly. By combining technological expertise with an understanding of human psychology and design principles, we can create AI products that meet real needs and enhance people’s lives.
Practical Application:
Design AI systems that are both powerful and easy to use, by prioritizing user experience. This could involve making interfaces more intuitive or simplifying processes to reduce cognitive load. Consider how the design of an AI product impacts how people interact with it.
4. Build Small, Dedicated Teams
Small, dedicated teams were essential to Apple’s success. These teams fostered strong interpersonal relationships, quick communication, and a sense of shared purpose, enabling us to move faster and adapt to changes more efficiently. The close proximity to senior leadership like Steve Jobs and Scott Forstall further intensified our focus and drove us to make great products.
Practical Application:
When building AI teams, keep them small and focused to foster open communication and efficient collaboration. This allows for more direct involvement from senior leaders and promotes a sense of shared ownership and accountability for the product’s success.
Suggested Deep Dive
Chapter: The Keyboard Derby
The development of the iPhone’s software keyboard illustrates the power of creative selection in a fast-moving, high-stakes environment. The limitations inherent in the hardware (small screen, no physical keyboard) created many design constraints and opportunities for different approaches to a novel interaction challenge. The way we proceeded and overcame those challenges through iteration and decision-making can serve as a valuable case study for current AI engineers attempting to build and improve novel interactions for new AI products.
Memorable Quotes
Introduction. 8
My goal is to share our approach with you—to explain the way we worked.
The Demo. 35
“OK. We’ll go with the bigger keys.”
The Crystal Ball. 64
Demos served as the primary means to turn ideas into software.
One Simple Rule. 96
From the day the PLT was finished, … our browser would become faster by never getting slower.
The Intersection. 189
“Design is how it works.”
Introduction. 8
My goal is to share our approach with you—to explain the way we worked.
The Demo. 35
“OK. We’ll go with the bigger keys.”
The Crystal Ball. 64
Demos served as the primary means to turn ideas into software.
One Simple Rule. 96
From the day the PLT was finished, … our browser would become faster by never getting slower.
The Intersection. 189
“Design is how it works.”
Comparative Analysis
While Creative Selection focuses on Apple’s unique approach to software development, it shares common ground with other books on product design and innovation. Like Inspired by Marty Cagan, it emphasizes the importance of user-centric design and iterative development. However, Creative Selection delves deeper into the specific practices and cultural elements that made Apple’s process unique, particularly the emphasis on demos and direct feedback from leadership. Compared to The Lean Startup by Eric Ries, Creative Selection less emphasizes validated learning and pivoting and more emphasizes perfecting a vision through iteration and internal feedback. Hooked by Nir Eyal explores user habits, which relates to Creative Selection’s emphasis on creating software that is easy and intuitive to use. Creative Selection stands out by providing a firsthand account of Apple’s internal processes during a pivotal period in its history, offering valuable lessons that are applicable to a wide range of product development contexts, from small startups to large corporations.
Reflection
Kocienda’s account of Apple’s software development process is valuable for understanding the factors behind the company’s success. His emphasis on iteration, demos, and feedback aligns with modern agile principles, but the direct involvement of executives like Steve Jobs sets it apart. While effective at Apple, this approach might not be directly transferable to all organizations, especially those lacking a similarly strong product vision and a culture of direct communication. It’s questionable whether this kind of centralized decision-making scales to larger or more diverse companies. Moreover, while creative selection is a key component, it’s not the sole factor behind Apple’s success. Marketing, hardware engineering, and Steve Jobs’s unique vision also played crucial roles. It’s easy to see how Apple’s success was built on much more than just creative selection. The book’s strength lies in its specific anecdotes and examples, but it might benefit from a deeper analysis of why certain practices worked so well at Apple and whether they are applicable elsewhere, especially in the context of AI.
Flashcards
What is Creative Selection?
The iterative process of building software through continuous prototyping, demos, and feedback.
What are the seven essential elements of Apple’s software success?
Inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy.
What is the significance of “One Simple Rule” in product development?
A single, simple rule that drives significant improvements by focusing on a specific, measurable goal.
What is the importance of ‘taste’ in design?
The balance between making a product visually appealing and ensuring it is functional and user-friendly.
What is ‘convergence’ at Apple?
The final phase of product development, focusing on bug fixing and polishing before release.
What was the role of demos at Apple?
Demos served as tangible representations of ideas, fostering discussion and decision-making.
What does it mean to work at the ‘intersection’ of technology and liberal arts?
Combining technical prowess with an understanding of human needs and desires to create user-friendly products.
What was the role of internal feedback at Apple?
Internal feedback, even on minor details, was crucial for refining designs and ensuring quality.
What is ‘porting’ in software development?
The process of adapting code written for one operating system to work on another.
What is Creative Selection?
The iterative process of building software through continuous prototyping, demos, and feedback.
What are the seven essential elements of Apple’s software success?
Inspiration, collaboration, craft, diligence, decisiveness, taste, and empathy.
What is the significance of “One Simple Rule” in product development?
A single, simple rule that drives significant improvements by focusing on a specific, measurable goal.
What is the importance of ‘taste’ in design?
The balance between making a product visually appealing and ensuring it is functional and user-friendly.
What is ‘convergence’ at Apple?
The final phase of product development, focusing on bug fixing and polishing before release.
What was the role of demos at Apple?
Demos served as tangible representations of ideas, fostering discussion and decision-making.
What does it mean to work at the ‘intersection’ of technology and liberal arts?
Combining technical prowess with an understanding of human needs and desires to create user-friendly products.
What was the role of internal feedback at Apple?
Internal feedback, even on minor details, was crucial for refining designs and ensuring quality.
What is ‘porting’ in software development?
The process of adapting code written for one operating system to work on another.